home *** CD-ROM | disk | FTP | other *** search
/ Champak 106 / Vol 106.iso / games / hulk.swf / scripts / fl / motion / easing / Bounce.as next >
Encoding:
Text File  |  2010-04-12  |  1.4 KB  |  44 lines

  1. package fl.motion.easing
  2. {
  3.    public class Bounce
  4.    {
  5.        
  6.       
  7.       public function Bounce()
  8.       {
  9.          super();
  10.       }
  11.       
  12.       public static function easeOut(param1:Number, param2:Number, param3:Number, param4:Number) : Number
  13.       {
  14.          if((param1 = param1 / param4) < 1 / 2.75)
  15.          {
  16.             return param3 * (7.5625 * param1 * param1) + param2;
  17.          }
  18.          if(param1 < 2 / 2.75)
  19.          {
  20.             return param3 * (7.5625 * (param1 = param1 - 1.5 / 2.75) * param1 + 0.75) + param2;
  21.          }
  22.          if(param1 < 2.5 / 2.75)
  23.          {
  24.             return param3 * (7.5625 * (param1 = param1 - 2.25 / 2.75) * param1 + 0.9375) + param2;
  25.          }
  26.          return param3 * (7.5625 * (param1 = param1 - 2.625 / 2.75) * param1 + 0.984375) + param2;
  27.       }
  28.       
  29.       public static function easeIn(param1:Number, param2:Number, param3:Number, param4:Number) : Number
  30.       {
  31.          return param3 - easeOut(param4 - param1,0,param3,param4) + param2;
  32.       }
  33.       
  34.       public static function easeInOut(param1:Number, param2:Number, param3:Number, param4:Number) : Number
  35.       {
  36.          if(param1 < param4 / 2)
  37.          {
  38.             return easeIn(param1 * 2,0,param3,param4) * 0.5 + param2;
  39.          }
  40.          return easeOut(param1 * 2 - param4,0,param3,param4) * 0.5 + param3 * 0.5 + param2;
  41.       }
  42.    }
  43. }
  44.